1. Field of the Invention
The present invention relates to the field of information technology and, more particularly, to reusable XPath validation expressions.
2. Description of the Related Art
XForms is a markup language specified by the World Wide Web Consortium (W3C) that is based upon an Extensible Markup Language (XML). XForms separates data logic of a form from its presentation. Data logic is handled by an XForms model and presentation is handled by an XForms user interface. An XForms model holds instance data and associated constraints. Instance data is an internal representation of data of the XForms model. An XForms model can hold more than one data instance. In other words, the XForms model defines what a form is, what data a form should contain, and how the data of a form should be handled.
In XForms, presentation is handled by an XForms user interface or other compatible user interface, such as a XML user interface configured to interoperate with an XForms model. That is, an XForms user interface handles the display and input of data. It should be noted that the term “XForms user interface” shall be used generically throughout this application to represent any XForms compliant user interface.
An XForms binding mechanism binds an XForms model with a corresponding XForms user interface. An XForms Submit Protocol defines how XForms sends and receives data between an XForms model and an XForms user interface.
XPath is a language that describes a way to locate and process items in XML documents by using an addressing syntax based on a path through the document's logical structure or hierarchy. XPath also provides basic facilities for manipulation of strings, numbers, and Booleans. XPath annotations or expressions can be attached to any node in an XForms data instance. Once attached to nodes, XPath expressions can provide a framework for supporting calculations, specific validations, read-only data, and visibility of controls. Accordingly, XPath expressions can be bound to XForms controls and can be used to validate and otherwise process information input into an XForms user interface and to process data output to the XForms user interface.
Current technologies for generating XPath expressions and binding these expressions to controls within an XForms user interface is complex and cumbersome to use. Often, form designers lack the programmatic expertise to construct XPath expressions and to integrate them into forms being designed. This usually means that XForms user interfaces are initially designed by a form designer. A programming specialist is needed to construct and integrate XPath validations and other expressions to the user interfaces after initial form design activity has been completed. This process can add substantial time and/or cost to a form design effort.